import RequestUtils from '@/utils/RequestUtils'

const type = 'external_mall'
export default {
  /**
   * 添加商品到购物车
   * @param params
   * @returns {AxiosPromise}
   */
  addGoods(params = {}) {
    return RequestUtils({
      url: `/order/cart/addGoods`,
      method: 'POST',
      data: {
        ...params,
        type
      }
    })
  },
  /**
   * 添加商品到购物车
   * @param params
   * @returns {AxiosPromise}
   */
  addGoodsList(goodsList = []) {
    return RequestUtils({
      url: `/order/cart/addGoodsList`,
      method: 'POST',
      data: {
        cartItems: goodsList
      }
    })
  },
  /**
   * 删除购物车选中的商品
   * @param params
   * @returns {AxiosPromise}
   */
  delGoods(skuId) {
    return RequestUtils({
      url: `/order/cart/delGoods/${skuId}`,
      method: 'DELETE',
      params: {
        type
      }
    })
  },
  /**
   * 删除选中的购物车商品
   * @param params
   * @returns {AxiosPromise}
   */
  delCheckedGoods() {
    return RequestUtils({
      url: `/order/cart/delCheckedGoods`,
      method: 'DELETE',
      params: {
        type
      }
    })
  },
  /**
   * 编辑购物车商品
   * @param params
   * @returns {AxiosPromise}
   */
  editGoods(params = {}) {
    return RequestUtils({
      url: `/order/cart/editGoods`,
      method: 'PUT',
      data: {
        ...params,
        type
      }
    })
  },
  /**
   * 是否全选购物车商品
   * @param params
   * @returns {AxiosPromise}
   */
  isCheckedAll(isCheckedAll) {
    return RequestUtils({
      url: `/order/cart/isCheckedAll`,
      method: 'PUT',
      data: {
        isCheckedAll,
        type
      }
    })
  },
  /**
   * 用户购物车商品集合
   * @param params
   * @returns {AxiosPromise}
   */
  goodsList() {
    return RequestUtils({
      url: `/order/cart/goodsList`,
      method: 'GET',
      params: {
        type
      }
    })
  },
  /**
   * 用户购物车中选中的商品集合
   * @param params
   * @returns {AxiosPromise}
   */
  checkedGoodsList() {
    return RequestUtils({
      url: `/order/cart/checkedGoodsList`,
      method: 'GET',
      params: {
        type
      }
    })
  }
}
